package com.dalanmao.ceshi;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.LinearLayout;

public class FatherViewGroup extends LinearLayout {

	public FatherViewGroup(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
		super(context, attrs, defStyleAttr, defStyleRes);
	}

	public FatherViewGroup(Context context, AttributeSet attrs, int defStyleAttr) {
		super(context, attrs, defStyleAttr);
	}

	public FatherViewGroup(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	public FatherViewGroup(Context context) {
		super(context);
	}
	
	@Override
	public boolean dispatchTouchEvent(MotionEvent ev) {
		Log.i("Event", "FatherViewGroup:dispatchTouchEvent");
		return super.dispatchTouchEvent(ev);
//		return true;
		
		/*
		 * 返回true 	事件会分发给当前 View 并由 dispatchTouchEvent 方法进行消费，停止向下分发
		 * 返回false 	1.父控件是Activity，将事件发挥给Activity的onTouchEvent消费
		 * 			2.父控件是View，将事件发给父控件的onTouchEvent消费
		 * 返回默认值	事件会分发给当前View的onInterceptTouchEvent方法
		 * 
		 */
	}
	
	@Override
	public boolean onInterceptTouchEvent(MotionEvent ev) {
		Log.i("Event", "FatherViewGroup:onInterceptTouchEvent");
		return super.onInterceptTouchEvent(ev);
//		return true;
		/*
		 *返回true	表示拦截事件，发送给本View的onTouchEvent消费
		 *返回false	表示不做处理， 分发给子View，由子View去分发
		 *返回默认值	和true相同表示拦截事件，发送给本View的onTouchEvent消费？？？？？？？？？？只点击该控件时，该条件满足
		 */
	}
	
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		Log.i("Event", "FatherViewGroup:onTouchEvent");
		return super.onTouchEvent(event);
//		return true;
		/*
		 *返回true	接受并消费此事件
		 *返回false	会向上传递这个事件，并且由上层的View的onTouchEvent处理
		 *返回默认值	和false相同
		 */
	}
	
	
	
	
	
	
	
	
	
	
	
	
	

}
